package com.expert.miniapp.service;

import com.expert.miniapp.dao.OtherResource;
import com.github.pagehelper.PageInfo;
import java.util.List;

/**
 * 其他资源业务逻辑接口
 * 提供其他资源相关的业务操作方法
 */
public interface OtherResourceService {

    /**
     * 根据资源ID获取详情
     * @param resourceId 资源ID
     * @return 其他资源详情，如果不存在则返回null
     */
    OtherResource getResourceById(String resourceId);

    /**
     * 获取所有其他资源（支持分页）
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 其他资源分页信息
     */
    PageInfo<OtherResource> getAllResources(Integer pageNum, Integer pageSize);

    /**
     * 按权重获取推荐其他资源列表（支持分页）
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 推荐其他资源分页信息
     */
    PageInfo<OtherResource> getRecommendedResources(Integer pageNum, Integer pageSize);

    /**
     * 模糊搜索其他资源（支持分页）
     * @param keyword 搜索关键词
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 搜索结果分页信息
     */
    PageInfo<OtherResource> searchResources(String keyword, Integer pageNum, Integer pageSize);
}